<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.prime.com.tr/ui">

<h:head>
</h:head>

<h:body>
	<ui:composition template="/template/template.xhtml">
		<ui:define name="corpo">
			<h:form id="formaluno" prependId="false">



				<br />
				<br />
				<div id="lado">


					<h2>Cadastrar Aluno</h2>

					<div id="confirma">

						<h:panelGrid columns="6" class="contemfloat" style="margin: 0px 20px 0px">
							<p:commandButton value="Salvar" action="#{alunoBean.salvar}"
								update="@form" image="ui-icon ui-icon-disk" />

							
							<p:commandButton value="Voltar" ajax="false" image="ui-icon ui-icon-arrowreturnthick-1-w" action="/paginas/aluno/listarAluno.xhtml" />
						</h:panelGrid>
					</div>



					<div id="div">

						<div id="erros">
							<p:messages />

						</div>

						<p:fieldset legend="Dados Pessoais" toggleable="true">


							<br />

							<h:panelGrid columns="4">
								<h:outputLabel value="Nome Completo*" />
								<p:inputText id="nome" required="true"
									requiredMessage="Nome Completo não informado*."
									value="#{alunoBean.aluno.nomeCompleto}" size="35"
									validatorMessage="Campo Nome deve conter mais de 5 letras.">
									<f:validateLength minimum="5" maximum="50"></f:validateLength>
								</p:inputText>

								<h:outputLabel value="Data Nascimento:" />
								<p:calendar id="dtnascimento" required="true"
									requiredMessage="Data Nasci. não informado*."
									value="#{alunoBean.aluno.dataNascimento}" locale="pt_BR" navigator="true" pattern="dd/MM/yyyy"	
													validatorMessage="Campo Data Nasc. deve esta preenchido.">
									<f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy" timeZone="GMT-2" locale="pt_BR"/>
                                   </p:calendar>


							</h:panelGrid>


							<h:panelGrid columns="6">
								<h:outputLabel value="Sexo* " />
								<h:selectOneMenu id="sexoAluno"
									value="#{alunoBean.aluno.sexoAluno}" required="true"
									requiredMessage="Sexo não informado.*">
									<f:selectItem itemLabel=":: Selecione ::"
										noSelectionOption="false" />
									<f:selectItem itemLabel="Masculino" itemValue="MASCULINO" />
									<f:selectItem itemLabel="Feminino" itemValue="FEMININO" />
								</h:selectOneMenu>

								<h:outputLabel value="Nacionalidade* " />
								<h:selectOneMenu id="nacionalidade"
									value="#{alunoBean.aluno.nacionalidade}" required="true"
									requiredMessage="Nacionalidade não informado.*">
									<f:selectItem itemLabel=":: Selecione ::"
										noSelectionOption="false" />
									<f:selectItem itemLabel="Brasileira" itemValue="BRASILEIRA" />
									<f:selectItem itemLabel="Estrangeira" itemValue="ESTRANGEIRA" />
								</h:selectOneMenu>

								<h:outputLabel value="Cor/Raça* " />
								<h:selectOneMenu id="Cor" value="#{alunoBean.aluno.corRaca}"
									required="true" requiredMessage="Cor/Raça não informado.*">
									<f:selectItem itemLabel=":: Selecione ::"
										noSelectionOption="false" />
									<f:selectItem itemLabel="Branca" itemValue="BRANCA" />
									<f:selectItem itemLabel="Parda" itemValue="PARDA" />
									<f:selectItem itemLabel="Negra" itemValue="NEGRA" />
									<f:selectItem itemLabel="Indígena" itemValue="INDÍGINA" />
									<f:selectItem itemLabel="Amarela" itemValue="AMARELA" />
									<f:selectItem itemLabel="Não Declarada"
										itemValue="NÃO DECLARADA" />
								</h:selectOneMenu>
							</h:panelGrid>



							<h:panelGrid columns="4">
								<h:outputLabel value="Nome da Mãe* " />
								<p:inputText id="mae" value="#{alunoBean.aluno.nomeMae}"
									required="true" requiredMessage="Nome da Mãe não informado.*"
									size="35"
									validatorMessage="Nome da Mãe deve conter mais de 5 letras.">
									<f:validateLength minimum="5" maximum="50"></f:validateLength>
								</p:inputText>

								<h:outputLabel value="Nome da Pai " />
								<p:inputText id="pai" value="#{alunoBean.aluno.nomePai}"
									required="true" requiredMessage="Nome do Pai não informado.*"
									size="35"
									validatorMessage="Nome do pai deve conter mais de 5 letras.">
									<f:validateLength minimum="5" maximum="50"></f:validateLength>
								</p:inputText>

							</h:panelGrid>




							<h:panelGrid columns="4">

								<h:outputLabel value="País* " />
								<p:inputText id="pais" value="#{alunoBean.aluno.pais}"
									required="true" requiredMessage="Nome do País não informado.*"
									size="15" validatorMessage="Pais deve conter mais de 3 letras.">
									<f:validateLength minimum="5" maximum="50"></f:validateLength>
								</p:inputText>

								<h:outputLabel value="UF de Nasc.* " />
								<h:selectOneMenu id="unidadefederacao1"
									value="#{municipioBean.unidadefederacao}" required="true"
									requiredMessage="UF de Nasc. não informado.*"
									converter="genericConverter">
									<f:selectItem itemLabel=":: Selecione ::"
										noSelectionOption="true" />
									<f:selectItems
										value="#{unidadeFederacaoBean.unidadefederacoes}"
										var="unidadefederacao" itemLabel="#{unidadefederacao.sigla}"
										itemValue="#{unidadefederacao}" />
									<p:ajax event="change" update="municipio2"
										actionListener="#{municipioBean.recuperarMunicipiosPorEstado}" />
								</h:selectOneMenu>

							</h:panelGrid>



							<h:panelGrid columns="4">

								<h:outputLabel value="Município de Nasc.* " />
								<h:selectOneMenu id="municipio2"
									value="#{alunoBean.aluno.municipio2}" required="true"
									requiredMessage="Município de Nasc. não informado.*"
									converter="genericConverter">
									<f:selectItem itemLabel=":: Selecione ::"
										noSelectionOption="true" />
									<f:selectItems value="#{municipioBean.municipios}"
										var="municipio" itemLabel="#{municipio.nome}"
										itemValue="#{municipio}" />
								</h:selectOneMenu>


								<h:outputLabel value="Deficiência/Qual" />
								<p:inputText id="deficiencia"
									value="#{alunoBean.aluno.deficiencia}" size="15" />
							</h:panelGrid>

						</p:fieldset>

						<br />
						
						<p:fieldset legend="Dados de Identificação" toggleable="true">
						

						<br />

						<h:panelGrid columns="6">
							<h:outputLabel value="CPF" />
							<p:inputText id="cpf" required="true"  size="16" maxlength="11"
								value="#{alunoBean.aluno.cpf}">
								<f:validator validatorId="com.validator.CPF" />
							</p:inputText>

							<h:outputLabel value="Passaporte" />
							<p:inputText id="documentoEstrangeiroPassaporte"
								value="#{alunoBean.aluno.documentoEstrangeiroPassaporte}"
								size="20" />
						</h:panelGrid>


						<h:panelGrid columns="6">
							<h:outputLabel value="Identidade RG" />
							<p:inputText id="identidadeRG"
								value="#{alunoBean.aluno.identidade}" size="15" />

							<h:outputLabel value="Tipo Via Identidade " />
							<p:inputText id="tipoviaIdentidade"
								value="#{alunoBean.aluno.tipoViaIdentidade}" size="10" />

							<h:outputLabel value="Data de Emissão Indentidade"
								for="dataEmissaoIdentidade" />
							<p:inputText id="dataEmissaoIdentidade"
								label="Data Emissão Identidade"
								value="#{alunoBean.aluno.dataEmisaoIdentidade}" size="10"
								maxlength="10"
								requiredMessage="Digite na Data de Emissão Identidade dd / MM /yyyy">
								<f:convertDateTime dateStyle="medium" />
							</p:inputText>
						</h:panelGrid>

						<h:panelGrid columns="6">
							<h:outputLabel value="UF da Identidade" />
							<h:selectOneMenu id="unidadefederacao"
								value="#{alunoBean.aluno.unidadeFederacao4}"
								converter="genericConverter">
								<f:selectItem itemLabel=":: Selecione ::"
									noSelectionOption="true" />
								<f:selectItems value="#{unidadeFederacaoBean.unidadefederacoes}"
									var="unidadefederacao" itemLabel="#{unidadefederacao.sigla}"
									itemValue="#{unidadefederacao}" />
							</h:selectOneMenu>

							<h:outputLabel value="Org. Emissor Identi.* "
								style="margin:3px 14px;" />
							<h:selectOneMenu id="orgaoEmissor"
								value="#{alunoBean.aluno.orgEmissorIdentidade}"
								converter="genericConverter">
								<f:selectItem itemLabel=":: Selecione ::"
									noSelectionOption="true" />
								<f:selectItems
									value="#{orgEmissorIdentidadeBean.orgaoemissores}"
									var="orgEmissorIdentidade"
									itemLabel="#{orgEmissorIdentidade.sigla}"
									itemValue="#{orgEmissorIdentidade}" />
							</h:selectOneMenu>
						</h:panelGrid>


						<h:panelGrid columns="6">
							<h:outputLabel value="Tipo de Certidão" />
							<h:selectOneMenu id="tipoCertidao"
								value="#{alunoBean.aluno.tipoCertidao}">
								<f:selectItem itemLabel=":: Selecione ::"
									noSelectionOption="true" />
								<f:selectItem itemLabel="Modelo Antigo"
									itemValue="MODELO ANTIGO" />
								<f:selectItem itemLabel="Modelo Novo" itemValue="MODELO NOVO" />
							</h:selectOneMenu>

							<h:outputLabel value="Número do Termo" />
							<p:inputText id="termoCertidao"
								value="#{alunoBean.aluno.termoCertidao}" size="10" />

							<h:outputLabel value="Número da Folha" />
							<p:inputText id="folhaCertidao"
								value="#{alunoBean.aluno.folhaCertidao}" size="10" />
							<h:outputLabel value="Número do Livro" />
							<p:inputText id="livroCertidao"
								value="#{alunoBean.aluno.livroCertidao}" size="10" />

							<h:outputLabel value="Data de Emissão Certidão"
								for="dataEmissaoCertidao" />
							<p:inputText id="dataEmissaoCertidao"
								label="Data Emissão Certidão"
								value="#{alunoBean.aluno.dataEmissaoCertidao}" size="10"
								maxlength="10" required="false"
								requiredMessage="Digite na Data de Emissão Certidão e dd / MM /yyyy">
								<f:convertDateTime dateStyle="medium" />
							</p:inputText>


						</h:panelGrid>

						<h:panelGrid columns="6">
							<h:outputLabel value="Nome do Cartório" />
							<p:inputText id="nomeCartorio"
								value="#{alunoBean.aluno.nomeCartorio}" size="30" />

							<h:outputLabel value="UF do Cartório " />
							<h:selectOneMenu id="unidadefederacao2"
								value="#{municipioBean.unidadefederacao}"
								converter="genericConverter">
								<f:selectItem itemLabel=":: Selecione ::"
									noSelectionOption="true" />
								<f:selectItems value="#{unidadeFederacaoBean.unidadefederacoes}"
									var="unidadefederacao" itemLabel="#{unidadefederacao.sigla}"
									itemValue="#{unidadefederacao}" />
								<p:ajax event="change" update="municipio1"
									actionListener="#{municipioBean.recuperarMunicipiosPorEstado}" />
							</h:selectOneMenu>
						</h:panelGrid>

						<h:panelGrid columns="6">
							<h:outputLabel value="Município do Cartório " />
							<h:selectOneMenu id="municipio1"
								value="#{alunoBean.aluno.municipio1}"
								converter="genericConverter">
								<f:selectItem itemLabel=":: Selecione ::"
									noSelectionOption="true" />
								<f:selectItems value="#{municipioBean.municipios}"
									var="municipio" itemLabel="#{municipio.nome}"
									itemValue="#{municipio}" />
							</h:selectOneMenu>



							<h:outputLabel value="Número Certidão Nova" />
							<p:inputText id="numeroCertidaoNova"
								value="#{alunoBean.aluno.numeroCertidaoNova}" size="40" />
						</h:panelGrid>
						</p:fieldset>



						<br />

						<p:fieldset legend="Endereço do Aluno" toggleable="true">

						<br />

						<h:panelGrid columns="4">

							<h:outputLabel value="Endereço*" />
							<p:inputText id="endereco" value="#{alunoBean.aluno.endereco}"
								required="true" requiredMessage="Endereço não informado*."
								size="35"
								validatorMessage="Campo Nome deve conter mais de 5 letras">
								<f:validateLength minimum="5" maximum="20"></f:validateLength>
							</p:inputText>

							<h:outputLabel value="CEP*" />
							<p:inputText id="cep" value="#{alunoBean.aluno.cep}"
								required="true" requiredMessage="CEP não informado*." size="10"
								validatorMessage="Campo Nome deve conter mais de 3 números">
								<f:validateLength minimum="3" maximum="20"></f:validateLength>
							</p:inputText>
						</h:panelGrid>



						<h:panelGrid columns="4">
							<h:outputLabel value="Número*" />
							<p:inputText id="numero"
								value="#{alunoBean.aluno.numeroEndereco}" required="true"
								requiredMessage="Número não informado*." size="35"
								validatorMessage="Campo Nome deve conter mais de 1 numero">
								<f:validateLength minimum="1" maximum="20"></f:validateLength>
							</p:inputText>


							<h:outputLabel value="Complemento" />
							<p:inputText id="endComplemento"
								value="#{alunoBean.aluno.endComplemento}" size="20" />
						</h:panelGrid>


						<h:panelGrid columns="4">
							
					<h:outputLabel value="Bairro*" />
					<h:selectOneMenu id="bairro"
						value="#{alunoBean.aluno.bairro}"
						converter="genericConverter">
						<f:selectItem itemLabel=":: Selecione ::" noSelectionOption="true" />
						<f:selectItems value="#{bairroBean.bairros}" var="bairro"
							itemLabel="#{bairro.nome}" itemValue="#{bairro}" />
					</h:selectOneMenu>

							<h:outputLabel value="UF de Endereço* " />
							<h:selectOneMenu id="unidadefederacao3"
								value="#{municipioBean.unidadefederacao}" required="true"
								requiredMessage="UF de Endereço não informado.*"
								converter="genericConverter">
								<f:selectItem itemLabel=":: Selecione ::"
									noSelectionOption="true" />
								<f:selectItems value="#{unidadeFederacaoBean.unidadefederacoes}"
									var="unidadefederacao" itemLabel="#{unidadefederacao.sigla}"
									itemValue="#{unidadefederacao}" />
								<p:ajax event="change" update="municipio3"
									actionListener="#{municipioBean.recuperarMunicipiosPorEstado}" />
							</h:selectOneMenu>
						</h:panelGrid>

						<h:panelGrid columns="4">

							<h:outputLabel value="Município* " />
							<h:selectOneMenu id="municipio3"
								value="#{alunoBean.aluno.municipio3}" required="true"
								requiredMessage="Município não informado.*"
								converter="genericConverter">
								<f:selectItem itemLabel=":: Selecione ::"
									noSelectionOption="true" />
								<f:selectItems value="#{municipioBean.municipios}"
									var="municipio" itemLabel="#{municipio.nome}"
									itemValue="#{municipio}" />
							</h:selectOneMenu>

						</h:panelGrid>
						
						</p:fieldset>
						<br/>
						<p:fieldset legend="Matrícular a Turma" toggleable="true">
						<br/>
						<h:panelGrid columns="4">
				<h:outputLink value="javascript:void(0)" onclick="dlgTurmas.show();">
					<h:outputLabel value=" Escolher Turma:"/>
				</h:outputLink>
				<h:inputText id="turma" value="#{alunoBean.aluno.turma.nome}" size="40" readonly="true" disabled="true" styleClass="textoBlackBold"/>
				</h:panelGrid>
				</p:fieldset>

					</div>
				</div>

						
				<h:panelGrid columns="6" class="contemfloat" style="margin: 0px 50px 0px">
							<p:commandButton value="Salvar" action="#{alunoBean.salvar}"
								update="@form" image="ui-icon ui-icon-disk" />
				
				<p:commandButton value="Voltar" ajax="false" image="ui-icon ui-icon-arrowreturnthick-1-w" action="/paginas/aluno/listarAluno.xhtml" />
								
					</h:panelGrid>
				
				<br />
				<br />
				<br />
				<br />


				<br />
			</h:form>
			
			<p:dialog header="Turmas" widgetVar="dlgTurmas" modal="true" width="1000">
			<h:form id="form1">
			<h3>Pesquisar Turmas</h3>
			<br />
			<h:outputLabel value="Ano " />
			<h:inputText id="anoLetivo" value="#{turmaBean.anoLetivo}"/>
			<br />
			<br />
			<h:outputLabel value="Modalidade"/>
			<h:inputText id="modalidade" value="#{turmaBean.modalidade}" />
			<br />
			<br />
			<p:commandButton value="Pesquisar"
				action="#{turmaBean.getTurmasByNome}" update="turmas"/>
					<p:outputPanel id="Turmas_pesq">
					<p:dataTable id="turmas" value="#{turmaBean.turmas}" var="turma" paginator="true" rows="10">
						<p:column headerText="Código">
							<h:outputText value="#{turma.id}" />
						</p:column>
						
						<p:column headerText="Nome">
							<h:outputText value="#{turma.nome}" />
						</p:column>
						<p:column headerText="Ano Letivo">
							<h:outputText value="#{turma.anoLetivo}" />
						</p:column>
						<p:column headerText="Série">
							<h:outputText value="#{turma.etapaSerie.nome}" />
						</p:column>
							
						<p:column headerText="Ação">
							<p:commandLink value="Selecionar" update="formaluno:turma" oncomplete="dlgTurmas.hide()">
								<f:setPropertyActionListener target="#{alunoBean.aluno.turma}" value="#{turma}" />
							</p:commandLink>
						</p:column>
					
					</p:dataTable>
				</p:outputPanel>
			</h:form>
		</p:dialog>

		</ui:define>
	</ui:composition>

</h:body>
</html>